#include <stdio.h>
// 1 使用while循环求1-1000之间的偶数和
int fn1(){
	int sum = 0,i=0;
	while(i<1000){
		i++;
		if(i%2==0){
			sum += i;
		}
	}
	printf("1-1000之间的偶数和:%d",sum); // 250500
	return 0;
}

// 2 使用while求1-100之间的奇数积
int fn2(){
	long long sum = 1,i=0;
	while(i<100){
		i++;
		printf("%d\n",i);
		if(i%2){
			sum*=i;
		}
	}
	printf("sum=%.2e",sum); // sum=2.52e+039
	return 0;
}

// 3 使用while输出1-100之间能被4整除且个位数是8的数
int fn3(){
	int i=0;
	while(i<100){
		i++;
		if(i%4==0&&i%10==8){
			printf("i=%d\n",i);
		}
	}
	return 0;
}

// 4 使用while统计100-999之间有多少个三个数字都不同的数字
int fn4(){
	int i = 100;
	int sum = 0;
	while(i<1000){
		int g = i%10;
		int s = i/10%10;
		int b = i/100;
		if(g!=s&&g!=b&&s!=b){
			printf("%d\n",i);
			sum++;
		}
		i++;
	}
	printf("sum=%d",sum);
	return 0;
}

// 5 使用while求1-200之间能被5整除的数，并求这些数的和
int fn5(){
	int i = 0;
	int sum = 0;
	while(i<200){
		i++;
		// printf("%d\n",i);
		if(i%5==0){
			sum += i;
			printf("%d\n",i);
		}
	}
	printf("sum=%d",sum);
	return 0;
}

// 6 使用while将输入的两个数从小到大进行排序输出。当输入的两个数相等时，终止循环。
int fn6(){
	int a,b,t;
	do{
		printf("\n输入a,b的值，以逗号隔开:");
		scanf("%d,%d",&a,&b);
		if(a>b){
			t = a;
			a = b;
			b = t;
		}
		printf("a=%d,b=%d",a,b);
	}while(a!=b);
	printf("程序结束！");
	return 0;
}

// 7 使用while输出100-1000的所有水仙花数。(abc = a*a*a+b*b*b+c*c*c)
int fn7(){
	int i = 100;
	while(i<1000){
		int g = i%10;
		int s = i/10%10;
		int b = i/100;
		if(i == g*g*g+b*b*b+s*s*s ){
			printf("i=%d\n",i);
			// i=153 i=370 i=371 i=407
		}
		i++;
	}
	return 0;
}

// 8 使用while输出2-9999之间的同构数：如5和25 ，6和36 ，5的平方等于25且5出现在25的右边
int fn8(){
	int i = 2;
	while(i<1000){
		int num = i*i;
		if(i<10){
			int g = num % 10;
			if(g==i){
				printf("[%d,%d]\n",i,num);
			}
		}else if(i<100){
			if(num%100==i){
				printf("[%d,%d]\n",i,num);
			} 
		}else{
			if(num%1000==i){
				printf("[%d,%d]\n",i,num);
			} 
		}
		i++;
	}
	// [5,25] [6,36] [25,625] [76,5776]
	return 0;
}

// 9 使用while统计输入的10个数的平均值和总和
int fn9(){
	int i = 0,n,sum;
	while (i<10){
		i++;
		printf("\n输入第%d个数字:",i);
		scanf("%d",&n);	
		sum+=n;
	}
	printf("sum=%d,avg=%.1f",sum,sum/10.0); // sum=426,avg=42.6
	return 0;
}

int main(){
	fn9();
	return 0;
}